package model

import (
	"time"

	"go.mongodb.org/mongo-driver/bson/primitive"
)

// 大模型类别
const DeepSeek string = "DeepSeek"
const KiMi string = "KiMi"

type LargeModel struct {
	ID primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	// TODO: Fill your own fields
	Type     string    `bson:"type" json:"type"`
	NickName string    `bson:"nickName" json:"nickName"`
	Number   string    `bson:"number" json:"number"`
	DeepSeek IDeepSeek `bson:"deepSeek" json:"deepSeek"`
	KiMi     IKiMi     `bson:"kiMi" json:"kiMi"`
	UpdateAt time.Time `bson:"updateAt,omitempty" json:"updateAt,omitempty"`
	CreateAt time.Time `bson:"createAt,omitempty" json:"createAt,omitempty"`
}

type IDeepSeek struct {
	Url    string `yaml:"url" bson:"url" json:"url"`
	Method string `yaml:"method" bson:"method" json:"method"`
	ApiKey string `yaml:"apiKey" bson:"apiKey" json:"apiKey"`
	Model  string `yaml:"model" bson:"model" json:"model"`
}

type IKiMi struct {
	Url         string  `yaml:"url" bson:"url" json:"url"`
	Method      string  `yaml:"method" bson:"method" json:"method"`
	ApiKey      string  `yaml:"apiKey" bson:"apiKey" json:"apiKey"`
	Model       string  `yaml:"model" bson:"model" json:"model"`
	Temperature float64 `yaml:"temperature" bson:"temperature" json:"temperature"`
}
